package cn.ai.boot.config;

import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.MapUtils;
import org.apache.commons.lang3.StringUtils;

import java.util.Arrays;
import java.util.List;
import java.util.Locale;
import java.util.Map;

/**
 * @author cyx
 * @version 1.0
 * @date 2024/8/13
 */
public class I18nMessageUtils {

    private static final String BASIC_BASE_NAME = "plugin-pcm";

    private static final String LANG_HEADER_KEY = "Dms-Language";


    public static void initThreadLocale() {

        // 已有值，则不处理
        if (LocaleUtils.get() != null) {
            return;
        }
        // 默认用中文
        LocaleUtils.set(Locale.CHINA);

        // 取请求头中的Dms-Language，这个才是用户级的语言设置，不要用浏览器的Accept-Language
        List<String> dmsLangList = Arrays.asList("CN");
        if (CollectionUtils.isEmpty(dmsLangList)) {
            return;
        }
        String dmsLang = dmsLangList.getFirst();
        if (StringUtils.isBlank(dmsLang)) {
            return;
        }
        // 兼容以前的写法
        String replace = dmsLang.replace("_", "-");
        Locale locale = Locale.forLanguageTag(replace);
        if (locale == null) {
            return;
        }
        LocaleUtils.set(locale);
    }

    public static void remove() {
        if (LocaleUtils.get() != null) {
            LocaleUtils.remove();
        }
    }


}
